Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Datacenter service level agreements (SLAs) typically deal in “equivalent” computing units. While some datacenters may specify how many virtual cores they are issuing to a customer, true co-scheduling may typically be available only if the underlying hardware is not shared. Despite the fact that not all of the cores are available at the same time or at the same utilization rate, datacenters may be unable to effectively increase a particular customer's core count and decrease another one's when demand makes it appropriate because changing core counts may have unpredictable effects.
From the programming side, having more cores available may mean to a customer that they need to perform more multicore processing. Running too many processes on too few cores, however, may generate too many swaps and memory spaces, potentially impeding performance. Thus, greater datacenter utilization (reachable by allotting more cores to each customer while having the cores less predictably available) may be directly opposed to efficient application programming. There is a strong trend in conventional virtualized core systems to increase process counts and moderate penalty for overpopulating the cores. This trend suggests that a typical application may face optimization pressures toward larger numbers of processes to take advantage of temporarily available virtualized cores and may pay a performance penalty if all virtualized cores are not available.